package com.hnyfkj.jyindustry.common;

/**
 * @author 一蓑烟雨
 * @version 1.0
 * @date 2021/6/3 13:27
 */
//声明全局变量MainWindow

import java.awt.EventQueue;

import com.sun.jna.NativeLibrary;
import uk.co.caprica.vlcj.discovery.NativeDiscovery;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;

public class PlayerMain2 {
    //声明全局变量MainWindow
    static MainWindow frame;

    public static void zhang(String videoUrl) {
        //实例化NativeDiscovery类
        new NativeDiscovery().discover();
        //通过判断选择系统，Windows，Mac OS，Liunx。以下都是各个系统的VLC默认安装路径
        if (RuntimeUtil.isWindows()) {
            NativeLibrary.addSearchPath(
                    RuntimeUtil.getLibVlcLibraryName(), "C:\\Program Files\\VideoLAN\\VLC");
        } else if (RuntimeUtil.isMac()) {
            NativeLibrary.addSearchPath(
                    RuntimeUtil.getLibVlcLibraryName(), "/Applications/VLC.app/Contents/MacOS/lib");
        } else if (RuntimeUtil.isNix()) {
            NativeLibrary.addSearchPath(
                    RuntimeUtil.getLibVlcLibraryName(), "/usr/lib");
        }

        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    frame = new MainWindow();

                    frame.setVisible(true);
                    //通过--subsdec-encoding= 可以指定字幕文件编码格式
                    String options[] = {"--subsdec-encoding=GB18030"};
                    //让窗体获得视频资源
                    frame.getMediaPlayer().setRepeat(true);
                    frame.getMediaPlayer().playMedia(
                            videoUrl, options);
                    //prepareMedia（）；是准备播放视频。而PlayMedia（）；是直接播放视频
                    //frame.getMediaPlayer().playMedia(
                    // "D:\\我的文件\\06、Java语言\\7、界面设计\\10、Java视频播放器的制作\\1、工程的准备.mp4",options);

                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    //开始播放
    public static void play() {
        frame.getMediaPlayer().play();
    }

    //暂停播放
    public static void pause() {
        frame.getMediaPlayer().pause();
    }

    //停止播放
    public static void stop() {
        frame.getMediaPlayer().stop();
    }

}